//package com.nf.practice.fileconvert;
//
//import com.alibaba.fastjson.JSON;
//import com.alibaba.fastjson.JSONObject;
//import org.springframework.beans.factory.annotation.Autowired;
//import org.springframework.core.io.ClassPathResource;
//import org.springframework.http.ResponseEntity;
//import org.springframework.stereotype.Service;
//import org.springframework.util.StreamUtils;
//import org.springframework.web.client.RestTemplate;
//
//import java.io.*;
//import java.nio.file.Files;
//import java.nio.file.Path;
//import java.nio.file.Paths;
//import java.util.ArrayList;
//import java.util.List;
//
//@Service
//public class FileProcessorService {
//
//    @Autowired
//    private RestTemplate restTemplate;
//
//    private static final String TEMP_FILE_PATH = "path/to/temp/file.txt"; // 临时文件路径
//    private static final String TARGET_URL = "http://example.com/upload"; // 目标系统上传URL
//
//    public void processAndUploadFile() {
//        List<JSONObject> dataList = new ArrayList<>();
//
//        // 循环调用接口（这里假设你需要调用10次作为示例）
//        for (int i = 0; i < 10; i++) {
//            ResponseEntity<String> response = restTemplate.getForEntity("http://api.example.com/data/{id}", String.class, i);
//            String jsonString = response.getBody();
//            JSONObject jsonObject = JSON.parseObject(jsonString);
//            dataList.add(jsonObject);
//        }
//
//        // 将数据写入临时文件
//        try (BufferedWriter writer = new BufferedWriter(new FileWriter(TEMP_FILE_PATH, true))) {
//            for (JSONObject jsonObject : dataList) {
//                // 按照指定的格式拼装数据（这里假设是简单的JSON对象一行一个）
//                String formattedLine = jsonObject.toJSONString() + "\n";
//                writer.write(formattedLine);
//            }
//        } catch (IOException e) {
//            e.printStackTrace();
//            // 处理文件写入异常
//        }
//
//        // 推送文件到其他系统（这里假设使用HTTP POST上传文件）
//        boolean uploadSuccess = uploadFileToTargetSystem(TEMP_FILE_PATH);
//
//        // 如果上传成功，则删除临时文件
//        if (uploadSuccess) {
//            try {
//                Files.delete(Paths.get(TEMP_FILE_PATH));
//                System.out.println("临时文件已删除。");
//            } catch (IOException e) {
//                e.printStackTrace();
//                // 处理文件删除异常
//            }
//        } else {
//            System.err.println("文件上传失败，未删除临时文件。");
//        }
//    }
//
//    // 示例方法：使用HTTP POST上传文件到目标系统
//    private boolean uploadFileToTargetSystem(String filePath) {
//        // 这里需要实现文件上传的逻辑，比如使用RestTemplate的multipart功能
//        // 由于这是一个复杂的操作，通常涉及到设置请求头、构建multipart body等
//        // 因此，这里只提供一个占位方法，你需要根据目标系统的API文档来实现具体的上传逻辑
//        // 返回true表示上传成功，返回false表示上传失败
//        // ...
//        // 示例返回true表示假设上传成功
//        return true;
//    }
//}